perm filename OCTDDT.FAI[1,BGB] blob
sn#001244 filedate 1972-08-28 generic text, type T, neo UTF8
00100 TITLE OCTDDT
00200 COMMENT /
00300 OCTDDT is the second program of our system
00400 from nothing. OCTDDT must be short because it has to be
00500 assembled by hand and loaded without error. /
00600
00700 P ←← 17
00800 ; OCTAL PRINT THE CONTENTS OF AC0.
00900 NUMOUT: MOVE 1,
01000 MOVEI 4,4
01100 MOVEI 2,3
01200 SETZ
01300 ROTC 3
01400 IORI 60
01500 OUTCHR
01600 SOJG 2,.-4
01700 OUTCHR BLANK
01800 SOJG 4,.-7
01900 POPJ P,
02000 ; OCTAL INPUT FROM TTY TO AC0, BRKCHR IN AC1, IGNORE LF'S.
02100 NUMIN: SETZ
02200 INCHRW 1
02300 CAIN 1,12
02400 JRST .-2
02500 CAIL 1,60
02600 CAILE 1,67
02700 POPJ P,
02800 ROT 1,-3
02900 ROTC 3
03000 JRST NUMIN+1
03100 ; MAIN EXAMINE AND DEPOSIT LISTEN LOOP.
03200 SA: MOVE P,[XWD -100,PDL]
03300 LISTEN: OUTCHR STAR
03400 PUSHJ P,NUMIN
03500 OUTCHR TAB
03600 MOVE 3, ;EXAMINE
03700 MOVE (3)
03800 OUTCHR TAB
03900 PUSHJ P,NUMOUT
04000 PUSHJ P,NUMIN
04100 CAIN 1,175 ; no deposit on alt mode.
04200 AOJA 3,[OUTCHR CR↔OUTCHR LF↔MOVE 3↔PUSHJ P,NUMOUT↔JRST .-5]
04300 MOVEM (3) ;DEPOSIT
04400 JRST LISTEN
04500 TAB: 11
04600 LF: 12
04700 CR: 15
04800 BLANK: 40
04900 STAR: 52
05000 PDL: BLOCK 100
05100 END SA